home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / nethack.lha / nethack-3.1 / include / winprocs.h < prev    next >
C/C++ Source or Header  |  1992-12-16  |  4KB  |  105 lines

  1. /*    SCCS Id: @(#)winprocs.h    3.1    92/09/19    */
  2. /* Copyright (c) David Cohrs, 1992                  */
  3. /* NetHack may be freely redistributed.  See license for details. */
  4.  
  5. #ifndef WINPROCS_H
  6. #define WINPROCS_H
  7.  
  8. struct window_procs {
  9.     const char *name;
  10.     void NDECL((*win_init_nhwindows));
  11.     void NDECL((*win_player_selection));
  12.     void NDECL((*win_askname));
  13.     void NDECL((*win_get_nh_event)) ;
  14.     void FDECL((*win_exit_nhwindows), (const char *));
  15.     void FDECL((*win_suspend_nhwindows), (const char *));
  16.     void NDECL((*win_resume_nhwindows));
  17.     winid FDECL((*win_create_nhwindow), (int));
  18.     void FDECL((*win_clear_nhwindow), (winid));
  19.     void FDECL((*win_display_nhwindow), (winid, BOOLEAN_P));
  20.     void FDECL((*win_destroy_nhwindow), (winid));
  21.     void FDECL((*win_curs), (winid,int,int));
  22.     void FDECL((*win_putstr), (winid, int, const char *));
  23.     void FDECL((*win_display_file), (const char *, BOOLEAN_P));
  24.     void FDECL((*win_start_menu), (winid));
  25.     void FDECL((*win_add_menu), (winid, CHAR_P, int, const char *));
  26.     void FDECL((*win_end_menu), (winid, CHAR_P, const char *, const char *));
  27.     char FDECL((*win_select_menu), (winid));
  28.     void NDECL((*win_update_inventory));
  29.     void NDECL((*win_mark_synch));
  30.     void NDECL((*win_wait_synch));
  31. #ifdef CLIPPING
  32.     void FDECL((*win_cliparound), (int, int));
  33. #endif
  34.     void FDECL((*win_print_glyph), (winid,XCHAR_P,XCHAR_P,int));
  35.     void FDECL((*win_raw_print), (const char *));
  36.     void FDECL((*win_raw_print_bold), (const char *));
  37.     int NDECL((*win_nhgetch));
  38.     int FDECL((*win_nh_poskey), (int *, int *, int *));
  39.     void NDECL((*win_nhbell));
  40.     int NDECL((*win_doprev_message));
  41.     char FDECL((*win_yn_function), (const char *, const char *, CHAR_P));
  42.     void FDECL((*win_getlin), (const char *,char *));
  43. #ifdef COM_COMPL
  44.     void FDECL((*win_get_ext_cmd), (char *));
  45. #endif /* COM_COMPL */
  46.     void FDECL((*win_number_pad), (int));
  47.     void NDECL((*win_delay_output));
  48.  
  49.     /* other defs that really should go away (they're tty specific) */
  50.     void NDECL((*win_start_screen));
  51.     void NDECL((*win_end_screen));
  52. };
  53.  
  54. extern struct window_procs NEARDATA windowprocs;
  55.  
  56. /*
  57.  * If you wish to only support one window system and not use procedure
  58.  * pointers, add the appropriate #ifdef below.
  59.  */
  60.  
  61. #define init_nhwindows (*windowprocs.win_init_nhwindows)
  62. #define player_selection (*windowprocs.win_player_selection)
  63. #define askname (*windowprocs.win_askname)
  64. #define get_nh_event (*windowprocs.win_get_nh_event)
  65. #define exit_nhwindows (*windowprocs.win_exit_nhwindows)
  66. #define suspend_nhwindows (*windowprocs.win_suspend_nhwindows)
  67. #define resume_nhwindows (*windowprocs.win_resume_nhwindows)
  68. #define create_nhwindow (*windowprocs.win_create_nhwindow)
  69. #define clear_nhwindow (*windowprocs.win_clear_nhwindow)
  70. #define display_nhwindow (*windowprocs.win_display_nhwindow)
  71. #define destroy_nhwindow (*windowprocs.win_destroy_nhwindow)
  72. #define curs (*windowprocs.win_curs)
  73. #define putstr (*windowprocs.win_putstr)
  74. #define display_file (*windowprocs.win_display_file)
  75. #define start_menu (*windowprocs.win_start_menu)
  76. #define add_menu (*windowprocs.win_add_menu)
  77. #define end_menu (*windowprocs.win_end_menu)
  78. #define select_menu (*windowprocs.win_select_menu)
  79. #define update_inventory (*windowprocs.win_update_inventory)
  80. #define mark_synch (*windowprocs.win_mark_synch)
  81. #define wait_synch (*windowprocs.win_wait_synch)
  82. #ifdef CLIPPING
  83. #define cliparound (*windowprocs.win_cliparound)
  84. #endif
  85. #define print_glyph (*windowprocs.win_print_glyph)
  86. #define raw_print (*windowprocs.win_raw_print)
  87. #define raw_print_bold (*windowprocs.win_raw_print_bold)
  88. #define nhgetch (*windowprocs.win_nhgetch)
  89. #define nh_poskey (*windowprocs.win_nh_poskey)
  90. #define nhbell (*windowprocs.win_nhbell)
  91. #define nh_doprev_message (*windowprocs.win_doprev_message)
  92. #define yn_function (*windowprocs.win_yn_function)
  93. #define getlin (*windowprocs.win_getlin)
  94. #ifdef COM_COMPL
  95. #define get_ext_cmd (*windowprocs.win_get_ext_cmd)
  96. #endif
  97. #define number_pad (*windowprocs.win_number_pad)
  98. #define delay_output (*windowprocs.win_delay_output)
  99.  
  100. /* other defs that really should go away (they're tty specific) */
  101. #define start_screen (*windowprocs.win_start_screen)
  102. #define end_screen (*windowprocs.win_end_screen)
  103.  
  104. #endif
  105.